Non-contiguous address erasable blocks and command in flash memory

ABSTRACT

A non-volatile memory device includes a memory array having erasable blocks or memory cells. The array has pages that are not one continuous array row. As such, the array row is segmented into page rows. The page rows are addressed contiguously across the page and a main erase block is divided into sub-erase blocks that follow the page row segmentation.

FIELD OF THE INVENTION

[0001] The present invention relates generally to memory devices and in particular the present invention relates to erase operations in a non-volatile memory device.

BACKGROUND OF THE INVENTION

[0002] A Flash memory is a type of memory that can be erased and reprogrammed in blocks instead of one byte at a time. A typical Flash memory comprises a memory array, which includes a large number of memory cells. Each of the memory cells includes a floating gate field-effect transistor capable of holding a charge. The cells are usually grouped into blocks. Each of the cells within a block can be electrically programmed in a random basis by charging the floating gate. The charge can be removed from the floating gate by a block erase operation. The data in a cell is determined by the presence or absence of the charge in the floating gate.

[0003] Similarly, random access memory devices have memory cells that are typically arranged in an array of rows and columns. During operation, a row (page) is accessed and then memory cells can be randomly accessed on the page by providing column addresses. This access mode is referred to as page mode access. To read or write to multiple column locations on a page requires the external application of multiple column addresses.

[0004] A synchronous DRAM (SDRAM) is a type of DRAM that can run at much higher clock speeds than conventional DRAM memory. While SDRAM's can be accessed quickly, they are volatile. Many computer systems are designed to operate using SDRAM, but would benefit from non-volatile memory. A synchronous Flash memory has been designed that allows for a non-volatile memory device with an SDRAM interface. In general, the goal of synchronous Flash is to mimic the architecture of SDRAM and reside on the same bus as an SDRAM. Some problems result from keeping consistent with SDRAM addressing while maintaining features that are important to Flash memory. One such feature is the Erasable block size of the flash. Flash memory can be programmed on byte or word basis, however, the memory cell erase is done to an entire block of memory at one time.

[0005] For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a non-volatile memory with different erase block architectures.

SUMMARY OF THE INVENTION

[0006] The above-mentioned problems with non-volatile memory devices and other problems are addressed by the present invention and will be understood by reading and studying the following specification.

[0007] In one embodiment, a non-volatile memory device comprises an array of non-volatile memory cells arranged in rows and columns, and erase circuitry coupled to selectively erase either a main erase block of the array or an erase sub-block of the array. The main erase block comprises rows of the memory array that cross all of the array columns. The erase sub-block comprises rows of the memory array that cross only a portion of the array columns.

[0008] In another embodiment, a flash memory comprises an array of non-volatile memory cells arranged in X rows and Y columns, wherein the X rows have Z segments each comprising Y/Z columns. Erase circuitry is coupled to selectively erase either a main erase block of the array or an erase sub-block of the array. The main erase block comprises Z segments crossing Y columns, and the erase sub-block comprises one segment crossing Y/Z columns.

[0009] A method of operating a flash memory comprises selecting a first erase block in response to a first externally provided command, performing an erase operation on the first erase block, and selecting a second erase block in response to a second externally provided command. The second erase block comprises a portion of the first erase block. An erase operation is performed on the second erase block. The memory can comprise an array of non-volatile memory cells arranged in X rows addressed from X₁ to X_(A) and Y columns addressed from Y₁ to Y_(B), and the X rows are divided into N segments. The first erase block comprises row addresses X₁ to X_(A) and columns addresses Y₁ to Y_(B). The second erase block comprises row addresses X₁ to X_(A) and columns addresses Y₁ to Y_(B/N).

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a functional block diagram of a memory device of one embodiment of the present invention;

[0011]FIG. 2 illustrates a memory array erase block architecture of an embodiment of the memory of FIG. 1; and

[0012]FIG. 3 is a more detailed illustration of a main erasable block of the memory of FIG. 1.

DETAILED DESCRIPTION OF THE DRAWINGS

[0013] In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims.

[0014]FIG. 1 is a functional block diagram of a memory device 100, of one embodiment of the present invention, that is coupled to a processor 110. The memory device 100 and the processor 110 may form part of an electronic system 120. The memory device 100 has been simplified to focus on features of the memory that are helpful in understanding the present invention. The memory device includes an array of memory cells 130. The memory cells are preferably non-volatile floating-gate memory cells and generally have their control gates coupled to word lines, drain regions coupled to local bit lines, and source regions commonly coupled to a ground potential. The memory array 130 is arranged in banks of rows and columns. Each bank is arranged in erase blocks. During an erase operation, the memory cells of the erase block are placed in an erased state. Data, however, may be stored in the memory array 130 separate from the block structure.

[0015] An address buffer circuit 140 is provided to latch address signals provided on address input connections A0-Ax 142. Address signals are received and decoded by row decoder 144 and a column decoder 146 to access the memory array 130. It will be appreciated by those skilled in the art, with the benefit of the present description, that the number of address input connections depend upon the density and architecture of the memory array. That is, the number of addresses increases with both increased memory cell counts and increased bank and block counts.

[0016] The non-volatile memory cells are fabricated as floating gate memory cells and include a source region and a drain region that is spaced apart from the source region to form an intermediate channel region. A floating gate, typically made of doped polysilicon, is disposed over the channel region and is electrically isolated from the other cell elements by oxide. For example, gate oxide can be formed between the floating gate and the channel region. A control gate is located over the floating gate and is can also made of doped polysilicon. The control gate is electrically separated from the floating gate by another dielectric layer. Thus, the floating gate is “floating” in dielectric so that it is insulated from both the channel and the control gate.

[0017] The memory cell is programmed using hot electron injection in the channel region near the drain region of the memory cell. These high-energy electrons travel through the gate oxide towards the positive voltage present on the control gate and collect on the floating gate. These electrons remain on the floating gate and function to reduce the effective threshold voltage of the cell as compared to a cell that has not been programmed.

[0018] To read a memory cell a control gate voltage Vg is connected to the primary supply voltage VCC of +5 volts. In addition, the drain voltage Vd is set to a small positive voltage of +1 volts and the source voltage Vs is set to ground potential. If the cell were in a programmed state, the excess electrons present on the floating gate would have increased the threshold voltage to a value in excess of +5 volts. Thus, the control gate Vg to source voltage Vs of +5 volts would not be sufficient to turn on the memory cell. That is, current would not be conducted through the channel region. The resultant lack of cell current indicates that the memory cell was in a programmed state. If the memory cell were in an erased state, the threshold voltage of the cell would be substantially below +5 volts. In that case, the cell would conduct current in response to the control gate voltage that would be sensed to indicate that the cell was in the erased state.

[0019] Two conventional alternative sets of conditions for erasing a flash cell are commonly used. In the first method, the control gate voltage Vg is grounded and the drain region is left floating (open), and the source region voltage Vs is connected to a large positive voltage of +12 volts. When these conditions are applied to the cell, a strong electric field is generated between the floating gate and the source region. This field causes the electrons on the floating gate to be transferred to the source region by way of Fowler-Nordheim tunneling.

[0020] The above conditions for erasing a cell can be disadvantageous in that the large positive voltage (+12 volts) applied to the source region is difficult to implement in an actual memory system. In another approach, a relatively large negative voltage ranging from −10 to −17 volts is applied to the gate during an erase operation. In addition, the primary supply voltage VCC of +5 volts (or less) is applied to the source region while the drain region is left floating.

[0021] The program and erase operations are not performed in single steps. That is, successive program pulses are applied to the memory cells to program a memory cell. This approach reduces over-programming. In a similar manner, the erase operation is iterative. In one embodiment, the erase operation includes three primary steps. The first is a pre-program operation in which all of the memory cells of an erase block are programmed. After all of the cells are pre-programmed, successive erase pulses are applied to the memory cells to remove the pre-program charge from the floating gate. A soft-program operation can be performed to ‘heal’ any over-erased memory cells.

[0022] The memory device reads data in the array 130 by sensing voltage changes in the memory array columns using read/latch circuitry 150. The read/latch circuitry, in one embodiment, is coupled to read and latch a row of data from the memory array. The row data can be one continuous address, or comprised of partial rows of discontinuous addresses.

[0023] Data input and output buffer circuitry 160 is included for bi-directional data communication over a plurality of data (DQ) connections 162 with the processor 110. The timing of data communication can vary depending upon the architecture. In one embodiment, data read from the memory can be output on the data connections with read latency. Read latency, as known to those skilled in the art, is the number of clock cycles between a read command and available data on the output connections. In addition, the memory can operate in a burst mode and allows read-while-write capabilities to different array banks.

[0024] Command control circuit 170 decodes signals provided on control connections 172 from the processor 110. These signals are used to control the operations on the memory array 130, including data read, data write, and erase operations. During operation, commands are provided on the control connections, such as ACTIVE, READ and WRITE commands. An ACTIVE command is used to open (or activate) a row in a particular array bank for a subsequent access. A selected row generally remains active for accesses until the next ACTIVE command. The READ command is used to initiate a read access to an active row. The address connections are used to select a starting column location. Read data appears on the DQs subject to a read latency value. A WRITE command is used to initiate a single-location write access on an active row. Input data appearing on the DQs is written to the memory array. Input data appearing on the DQs is written to the memory array by write circuitry 155. The flash memory device has been simplified to facilitate a basic understanding of the features of the memory. A more detailed understanding of internal circuitry and functions of flash memories are known to those skilled in the art.

[0025] One example embodiment of the memory of FIG. 1 is a 128 Meg synchronous flash memory that operates with an open page having a length of 8000 bits, see FIG. 2. As such, 8000 bits of data are sensed at one time using sense amplifier circuits coupled to the memory array 200. The sensed data is then latched in corresponding latches 210. With all 8000 bits residing on one row line, the sense amplifiers need to be fabricated against the pitch of the memory cell. The memory cells are designed, or drawn, at very aggressive design rules since they determine the size of the memory array. Drawing devices or transistors against that pitch is usually very difficult. As such, a sense amplifier is drawn in a pitch of 4 cells for better space utilization. With all the above constraints, the total number of bits on a memory row is about 32 Kbits (8000 sense amplifiers). It is practically impossible, with current technology, to draw a row line that is 32K bits long. In practice, the array is drawn in physical sections. In one embodiment, the memory array is designed in four sections. Thus, the row lines are broken into four separate sections and each having 2K sense amplifiers drawn against them.

[0026] The memory rows are part of a main Erasable block 220 of 256 rows. So the total number of bits in a main Erasable block is 8M bits. This is very large for some software applications, however, a smaller Erasable block size could make the efficiency of the die very bad and hence cost inefficient.

[0027] One embodiment of the present invention arranges the erasure of the blocks based on their physical locality. Referring to FIG. 3, a more detailed description of one main erasable block 220 is provided. The main block includes 8M memory cells. The cells are arranged in 32 k columns and 256 page rows. The page rows, however, are not one continuous row. That is, signal propagation delays due to line capacitance prohibit a single row for 32 k columns. The array row is segmented into four page rows 230 ₀-230 ₃ each corresponding to 8 k columns. The page rows are addressed contiguously across the page. For example, the rows start at address 1 and continue to row 4 across one page row, the next page row begins with row 5.

[0028] Each 2M section of the main block form a sub-erase block 240 ₀-240 ₃, as described above. The sub-erase block has 256 rows that do not have contiguous row addresses. Code data is typically stored in the flash memory using contiguous addresses. During operation, the main block is erased and then the code is stored in the memory array in a continuous manner that crosses one or more sub-erase blocks 240 ₀-240 ₃. When the code is replaced, the entire main block is erased.

[0029] Erasing 8M memory cells is time and power consuming. For some applications of the flash memory, such as data storage for cellular telephones, the need for large contiguous data storage is less important than speed and power consumption. As such, the present invention allows a user to designate the erase block size. The main block is divided into sub-erase blocks to follow the page row segmentation. In the above example, the main 8M erase block is divided into four 2M sub-erase blocks 240 ₀-240 ₃.

[0030] If the user is able to write and read data from non-contiguous rows, a sub-erase block can be designated using externally provided commands. In one embodiment, an external command initiates an erase operation and designates a main erase block 220, or a sub-erase block 240.

[0031] A prior art erase command sequence for a flash block erase is a load command register (LCR) code of 20H, followed by an active cycle that provides the block address and furthermore followed by a write cycle with Data=D0H. The block address is a subset of the address connections available.

[0032] Because the blocks are divided into sub-blocks in embodiments of the present invention, there is a larger subset of the address connections used in the active cycle to decode the sub-block. A new LCR code of 4FH, for example, followed by active and write cycles are used to erase a sub-block of an embodiment the present invention. The LCR code can be any code that is not another valid command and is not limited to 4FH.

CONCLUSION

[0033] A non-volatile memory device has been described that includes a memory array having erasable blocks or memory cells. One embodiment of the memory arranges the erasure of the blocks based on their physical locality. The array has pages that are not one continuous array row. That is, signal propagation delays due to line capacitance prohibit a single long row. As such, the array row is segmented into page rows. The page rows are addressed contiguously across the page and a main erase block is divided into sub-erase blocks that follow the page row segmentation.

[0034] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof. 

In the claims:
 1. A non-volatile memory device comprising: an array of non-volatile memory cells arranged in rows and columns; and erase circuitry coupled to selectively erase either a main erase block of the array or an erase sub-block of the array, wherein the main erase block comprises rows of the memory array that cross all of the array columns, and wherein the erase sub-block comprises rows of the memory array that cross only a portion of the array columns, wherein the memory cells have a location address, wherein the location addresses of the memory cells located in a single row of the array rows are contiguous, such that the main erase block comprises contiguous memory cell location addresses, and the erase sub-block comprises non-contiguous memory cell location addresses.
 2. The non-volatile memory device of claim 1 further comprising a control circuit to select either the main erase block or the erase sub-block during an erase operation.
 3. A flash memory comprising: an array of non-volatile memory cells arranged in X rows and Y columns, wherein the X rows have Z segments each comprising Y/Z columns; and erase circuitry coupled to selectively erase either a main erase block of the array or an erase sub-block of the array, wherein the main erase block comprises Z segments crossing Y columns, and wherein the erase sub-block comprises one segment crossing Y/Z columns.
 4. The flash memory of claim 3 wherein the memory cells have a location address, wherein the location addresses of the memory cells located in a single row of the array rows are contiguous across the Y columns.
 5. The flash memory of claim 3 wherein Z is four.
 6. The flash memory of claim 3 wherein the erase sub-block comprises a first plurality of memory cells and the main erase block comprises a second plurality of memory cells, where the first plurality is one-fourth the second plurality.
 7. The flash memory of claim 3 further comprising a control circuit to select either the main erase block or the erase sub-block during an erase operation in response to externally provided commands.
 8. A flash memory device comprising: an array of non-volatile memory cells; erase circuitry coupled to erase memory cells located in an erase block of the array; and control circuitry to select a size of the erase block during in response to externally provided commands.
 9. The flash memory of claim 8 wherein a first size of the erase block comprises contiguous address locations, and a second size of the erase block comprises noncontiguous address locations.
 10. The flash memory of claim 8 wherein the array is arranged in rows and columns of memory cells, each row is segmented such that each segment includes a portion of the total columns of the array, and wherein a first size of the erase block comprises multiple row segments that in sum cover all columns of the array.
 11. The flash memory of claim 10 wherein a second size of the erase block comprises one row segment.
 12. A memory system comprising: a processor; and a non-volatile memory device coupled to communicate with the processor and comprising, an array of non-volatile memory cells arranged in rows and columns, and erase circuitry coupled to selectively erase either a main erase block of the array or an erase sub-block of the array in response to the processor, wherein the main erase block comprises rows of the memory array that cross all of the array columns, and wherein the erase sub-block comprises rows of the memory array that cross only a portion of the array columns.
 13. The memory system of claim 12 wherein the memory cells have a location address, and the location addresses of the memory cells located in a single row of the array rows are contiguous, such that the main erase block comprises contiguous memory cell location addresses.
 14. The memory system of claim 13 wherein the erase sub-block comprises noncontiguous memory cell location addresses.
 15. A method of operating a non-volatile memory comprising: selecting either a first erase block or a second erase block, wherein the first and second erase blocks comprise different numbers of non-volatile memory cells, wherein the first erase block comprises consecutively addressed memory cells and the second erase block comprises non-consecutively addressed memory cells; and performing an erase operation on the selected erase block.
 16. The method of claim 15 wherein selecting either the first erase block or the second erase block is performed in response to externally provided commands.
 17. The method of claim 15 wherein the memory comprises an array of non-volatile memory cells arranged in X rows and Y columns, wherein the X rows have Z segments each comprising Y/Z columns.
 18. The method of claim 17 wherein the first erase block comprises Y columns and the second erase block comprised Y/Z columns.
 19. A method of operating a flash memory comprising: selecting a first erase block in response to a first externally provided command; performing an erase operation on the first erase block; selecting a second erase block in response to a second externally provided command, wherein the second erase block comprises a portion of the first erase block; and performing an erase operation on the second erase block.
 20. The method of claim 19 wherein the memory comprises an array of non-volatile memory cells arranged in X rows addressed from X₁ to X_(A) and Y columns addressed from Y₁ to Y_(B), wherein the X rows are divided into N segments.
 21. The method of claim 20 wherein the first erase block comprises row addresses X₁ to X_(A) and columns addresses Y₁ to Y_(B), and wherein the second erase block comprises row addresses X₁ to X_(A) and columns addresses Y₁ to Y_(B/N). 